package com.leeon.generics;

public class GenericMethods {

	public <T> void f(T x){
		System.out.println(x.getClass().getName());
	}
	
	public <T,K,V> void f(T t,K k,V v){
		System.out.println("t " + t.getClass().getName());
		System.out.println("k " + k.getClass().getName());
		System.out.println("v " + v.getClass().getName());
	}
	
	public <T,K> void f(T t,K k,String v){
		System.out.println("t1 " + t.getClass().getName());
		System.out.println("k1 " + k.getClass().getName());
		System.out.println("v1 " + v.getClass().getName());
	}
	
	public static void main(String[] args){
		GenericMethods gm = new GenericMethods();
		gm.f(1);
		gm.f("a");
		gm.f('c');
		gm.f(3f);
		gm.f(1l);
		gm.f(3d);
		gm.f(true);
		gm.f(gm);
		gm.f('a', 1, 1l);
		gm.f('a', 1, "a");
	}
	
}
